首先我們先啟用一個CLoud SQL,並且選擇PostgreSQL,選擇其他的收費標準可能不一樣這一點要注意!
選擇要什麼SQL版本,並且配置好instance名字及密碼,還有把價格壓到最低(你也可以選擇自己需要的配置不用理我XD)
0.28*30應該是最低配置了約莫272台幣/一個月,這個也是錢啊,啟用後需要一段時間才可以使用唷!
再來就是測試是否可以連線成功,都完成ok的話,接下來就根據FastAPI文件換成標準的DB配置及GCP針對python給的連線方式做修正,
建立一個database.py
,env輸入cloud sql上的資訊!
import os
import sqlalchemy
db_user = os.environ["DB_USER"]
db_pass = os.environ["DB_PASS"]
db_name = os.environ["DB_NAME"]
db_port = os.environ["DB_PORT"]
db_ip = os.environ["DB_IP"]
unix_socket_path = f"/cloudsql/benson-service:asia-east1:benson-db"
engine = sqlalchemy.create_engine(
sqlalchemy.engine.url.URL.create(
drivername="postgresql+psycopg2",
username=db_user,
password=db_pass,
database=db_name,
port=db_port,
host=db_ip
)
)
接下來就把原本url換成engine,
vectorstore = PGVector(
embeddings=embeddings,
collection_name="programers",
connection=engine,
use_jsonb=True)
接著我們再把一份PDF丟到inxding api試試看!
看來也可以順利執行了!
參考資料: